package com.ruoyi.ruoyi.business.service.smo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.ruoyi.business.pojo.dto.*;
import com.ruoyi.ruoyi.business.pojo.vo.MaterialDetailVo;
import com.ruoyi.ruoyi.business.pojo.vo.MaterialListClassifyVo;
import com.ruoyi.ruoyi.business.pojo.vo.MaterialListVo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * ClassName：MaterialService
 * Package：com.ruoyi.ruoyi.business.service.smo
 * Description：
 *
 * @Author：fpy
 * @Create：2025/5/8 - 14:39
 * @Version：v1.0
 */
public interface MaterialService {
    AjaxResult<Page<MaterialListVo>> list(Page dtoPage, MaterialListDto dto);

    AjaxResult add(MaterialAddDto dto);

    AjaxResult remove(MaterialRemoveDto dto);

    AjaxResult<MaterialDetailVo> detail(MaterialDetailDto dto);

    AjaxResult edit(@RequestBody @Validated MaterialEditDto dto);

    AjaxResult<List<MaterialListClassifyVo>> listClassify();
}
